<template>
  <section class="main">
    <input id="toggle-all" class="toggle-all" type="checkbox" v-model="isAll"  />
    <label for="toggle-all">全部标记为已完成</label>
    <ul class="todo-list">
      <!-- These are here just to show the structure of the list items -->
      <!-- List items should get the class `editing` when editing and `completed` when marked as completed -->
      <li :class="{ completed: item.isDone }" v-for="item in list" :key="item.id">
        <div class="view">
          <input class="toggle"
           type="checkbox" 
           :checked="item.isDone" 
           @change="$emit('state',item.id)" />
           
          <label>{{ item.name }}</label>
          <button class="destroy" @click="$emit('del', item.id)"></button>
        </div>
        <input class="edit" value="Create a TodoMVC template" />
      </li>
    </ul>
  </section>
</template>

<script>
export default {
  // props: ['list']
  props: {
    list: Array
  },
  // 计算属性：计算大框是否选中
  computed:{
    isAll:{
      get(){
        return this.list.every(item => item.isDone === true)
      },
      set(val){
        // console.log(val) // truc  false
        // 把所有数据的 isDone 都改为 true 或 false
        // 数据在 App 父组件，所以需要 子传父
        this.$emit('changeAllState',val)
      }
    }
  }
}
</script>

<style></style>